home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Tools 5
/
Amiga Tools 5.iso
/
tools
/
dfÜ
/
bbs
/
tronbbs
/
tron
/
docs
/
bbs.doc
< prev
next >
Wrap
Text File
|
1996-07-16
|
25KB
|
674 lines
Tron BBS System V0.67
Copyright (C) 1994-1996 by Arend-Paul Spijkermann
Software and documentation written by A.Paul Spijkerman
All rights reserved
All information in this documentation
is subject to change without prior notice
======( Intro )====================================================
Tron is a multi line BBS system with Files and Echomail capabilities.
It can poll with EMSI to other systems and spawn Fax programmas.
It can be controlled from dos by scripts and a cron utility.
It can run doors and display RIPscrip graphics locally.
======( Features )=================================================
See the 'Features' text file.
======( System Hardware and Software Requirements )================
- A Commodore Amiga Computer
- AmigaDOS Release 2 or higher
- An IBM.font would be usefull
- Xprzmodem.library V3.5
- Xprzedzap.library V3.5
Optional:
- A cron utility for example CyberCron
- More Xpr file transfer librarys
- Archivers like LHA, LZX, ZIP, ZOO, ARJ and ARC
- An ANSI editor for example BBS-draw
- Paragon TimeBankDoor
- nullmodem.device to call a node without using modems
or to poll yourself with your point package
======( License )===================================================
Tron is offered to you under the concepts of ShareWare. You can use
it for an evaluation period of up to 30 days without paying any charge.
If you are going to use Tron after the evaluation period, you should
register. (which means that if you continue to use it you'll have to
pay for it) If you register you will recieve a full working version,
which is registered to you personally.
LICENSE
You are granted a limited license to evaluate this software for a 30 day
period on a private, non-commercial basis only. You must decide at the
termination of this evaluation period to register this product if you
plan to continue using it or to cease all use otherwise.
SHAREWARE
This program is made available through the concept of "Shareware" which
is a form of distribution that gives you the opportunity to try a piece
of software before you buy it. It is not now, nor will it ever be
regarded as Public Domain or otherwise "free" software.
The programs and files in this distribution are
Copyright (c) Paul Spijkerman. They may be freely distributed as long as
no more than a nominal fee is charged to cover time and copying costs.
REGISTERING
If you want to register you will have to send me Dfl 120,--.
(which is about $ 75 US Dollars on 1 Aug 1995)
When you register , I will send you a disc with the latest version
and a personalized keyfile.
This keyfile will unlock the evaluation version so all features are
available without restrictions.
When you're a registered user, updates are available on my
BBS free of costs and will be circulated.
Remember, registration is needed to keep the development of
future enhancements to Tron active.
Without your support the product cannot continue to evolve.
If you live in holland the easiest methode is probably to make
a transfer to my account on the RABO BANK and mail me the
registration.form
RABO BANK Account number 311202179.
Other methodes would be Cash (at your own risk), a postal money order,
a wire bank transfer or a EuroCheck (only in Dfl!) are suggested.
Foreign checks are *NOT* accepted!
When you transfer the money please remember that I cannot accept any
handling costs. You must also transfer the money in Dfl (Dutch Guilders)
and not in your own currency.
Please fill in the registration.form file to speed things up.
LICENSE
(Inspired by the TrapToss license)
1. This license applies to the product called "Tron", a set of programs
for the Amiga computer, published by Paul Spijkerman under the concepts of
ShareWare, and the accompanying documentation, example files and anything
else that comes with the original distribution. The terms "Programs" and
"Tron" below, refer to this product. The licensee is addressed as "you".
2. You may copy and distribute verbatim copies of the programs' executable
code and documentation as you receive it, in any medium, provided that you
conspicuously and appropriately publish only the original, unmodified
programs, with all copyright notices and disclaimers of warranty intact and
including all the accompanying documentation, example files and anything
else that came with the original.
3. You may not copy and/or distribute these programs without the
accompanying documentation and other additional files that came with the
original. You may not copy and/or distribute modified versions of these
programs.
4. You may not copy, modify, sublicense, distribute or transfer the
programs except as expressly provided under this license. Any attempt
otherwise to copy, modify, sublicense, distribute or transfer the programs
is void, and will automatically terminate your rights to use the programs
under this license. However, parties who have received copies, or rights
to use copies, from you under this license will not have their licenses
terminated so long as such parties remain in full compliance.
5. By copying, distributing and/or using the programs you indicate your
acceptance of this license to do so, and all its terms and conditions.
6. Each time you redistribute the programs, the recipient automatically
receives a license from the original licensor to copy, distribute and/or
use the programs subject to these terms and conditions. You may not impose
any further restrictions on the recipients' exercise of the rights granted
herein.
7. You may not disassemble, decompile, re-source or otherwise reverse
engineer the programs.
8. You may use the programs for a period of up to 30 days for evaluation.
After that, you have to register.
9. If you wish to incorporate parts of the programs into other programs,
write to the author to ask for permission.
10. You agree to cease distributing the programs and data involved if
requested to do so by the author.
11. You may charge a fee to recover distribution costs. The fee for
diskette distribution may not be more than the cost to obtain a public
domain diskette from Fred Fish.
======( Contacting me )=============================================
For comments, suggestions or bug reports write to:
A.Paul Spijkerman
Bernhard Fabritiuslaan 19
9462 SM Gasselte,DR
The Netherlands, Europe
Any sign of intelligent life welcome !
(preferably in English, Dutch or German)
Or visit the Tron homepage on the World Wide Web !!
http://www.tip.nl/users/frank.smit
----------------------------------------------------------------------
Or call my BBS : +31-599-564696 24 Hours V32B/V42B
AMY : 39:155/300
NLA : 14:103/300
DAN : 55:1100/1111
======( Disclaimer )================================================
THERE IS NO WARRANTY FOR THE PROGRAMS, TO THE EXTENT PERMITTED
BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE
COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAMS "AS
IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAMS IS
WITH YOU. SHOULD THE PROGRAMS PROVE DEFECTIVE, YOU ASSUME THE
COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
REDISTRIBUTE THE PROGRAMS AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
THE PROGRAMS (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAMS TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED
OF THE POSSIBILITY OF SUCH DAMAGES.
No warranty, either express or implied, is made with respect to the
fitness or merchantability of Tron.
Paul Spijkerman (referred to as "the author"), reserves the right to not
develop any future versions of Tron.
The author will try to make a good faith attempt at correcting any
problems if any are discovered, but is in no way required, nor bound to
correct them.
The author neither assumes nor accepts any responsibility for the use
or misuse of these programs. He also will not be held liable for damages
due to loss of profit or any other damages arising out of the use, or
inability to use these programs.
The author will not be liable for any damage arising from the failure
of these programs to perform as described, or any destruction of other
programs or data residing on a system attempting to run the programs.
While I know of no damaging errors, the user of these programs uses it
at his or her own risk.
While considerable effort has been made to provide you with a reliable
product, there is no guarantee that this program is 100% "bug-free".
Additionally, this disclaimer does not guarantee future versions of this
product, but maintenance releases may be made available if and when
feasible.
======( Acknowledgements )==========================================
For all their testing, ideas and patience :
Frank Smit
Harry Dicker
Henk Oosterwold
Sjoerd-Hidde Kuperus
special thanks must go to:
Frank Smit for all his mail testing and pinpointing problems.
Harry Dicker for finding and solving Fax problems.
======( About the system )==========================================
What is Tron ?
Tron is a multiline BBS package with FileCatalog and echomail
capabilities and is able to run CLidoors.
(For more features look at 'options' doc)
Multiline means that you can start multiple BBS 'nodes' (with
each a unique node number).
These nodes can run localy or be connected to a serial port.
Also multiple user can use the same 'resources' at once, this
means that for instance 2 users can look at the same filecatalog.
Echomail means that the software is capable of exchanging
electronic mail with other BBS systems.
To achieve this the software uses the 'fido standards'.
Clidoors are expansions of the system, they are programmas
which can range from games to questionaires.
They are programmas which are capabel of running in a shell
which is emulated by the BBS programm.
The BBS system consists of a number of programms and data files.
Configuring at the moment consists of editing text files
in the configuration directory with your favorite editor.
The system expects an assign 'tron:' to the directory with all
the data to run the BBS.
You could for example make a directory 'dh0:tron/' with all
the files and directories, the name and place are not important
as long as there is an assign to it.
In this directory the following directories are expected:
(these are present in the distribution package)
InBound <- This is where incoming information goes
with mail-connections.
OutBound <- This is the Outgoing mail.
NodeLists <- Nodelists with the data of other BBSes.
cfg <- The configuration files of the BBS-system.
data <- This is where internal data for the system is kept.
docs <- Textfiles with FI command lists ans util. descriptions.
doors <- Directories with 'external programms' (doors).
filecat <- This is where the file database is kept.
files <- This is where the downloadable files are (default).
icons <- RIP graphic icons
log <- All the logs of the system.
mail <- This is where the message bases are (default).
menus <- These are the 'menu programms'.
menutext <- This is where the screens of the menus are.
samples <- Sound samples for paging and Ctrl-G
scripts <- All sorts of scripts to control the BBS.
text <- All kind of screens for use in the BBS.
upload <- Temporary place for processing Uploaded files.
users <- This is where the User database/information is.
utils <- Most of the executables of the BBS system.
KilledFiles <- This is where files go when they are removed.
Furthermore there are in the distribution archive in de tron:
directory are few little texts/scripts:
important <- Information on docs and how to startup.
startup <- A little sample startup script.
down <- A script to exit the system.
Sample startup script:
(look at tron:startup for more features)
========================================
stack 40000
assign tron: sys:tron
assign doors: tron:doors
path tron:utils tron:scripts add
echo "Starting up Tron BBS nodes 0 & 1"
echo ""
run tron:utils/tronRM
wait 2
run tron:utils/bbs -0 -i
run tron:utils/bbs -1 -i -d
You don't realy need 40K of stack , but i run a lot of
nodes and programms to test things.
The last 2 lines , are to startup the nodes.
Note that there are a few flags used. The -i flag means
iconized. This node will only use a tiny window until
you deIonize it by clicking on it.
The -d flag means Debug, in this mode a lot more information
is written to the log file , including all modem result lines.
The 'TronRM' programm must also be started before any other
Tron utility is used otherwise they probably won't do a thing.
This programm is the 'Resource Manager' and regulates all acces
to the data files, thanks to this more than 1 programm can acces
the same file at the same time.
This is needed so you can read mail at the same time as the
mail processor is running, or 2 users can browse through the
same file area. Also a user can't log on to two nodes at ones
because the resource manager won't allow it.
Also this programm has a 'monitor' window which shows all kinds
of important information, like what a node is doing, a list
of last callers and statistical data.
This window can be Iconized if you don't need it at the moment.
To simplify testing nodes 6 & 7 are default configured to
use the 'nullmodem.device' .. this is a public domain device
which is available on a lot of BBS systems.
This device emulates 2 modems and a phone line, so you can
call a node without using an actual phone line.
This is also very usefull if you want to use a point package
to read and write mail, you just run node 6 and configure
your point packet to node 7 of the nullmodem.device.
The system is for a very big part configurable to your own
wishes/likes, this includes the menus which are completely
configurable. In a menu you can call other menus, so you
can expand it almost infinitly.
The first menu which is started when someone 'logs in' is
the 'start.menu'.
To make a menu is very easy , they consist of readable
text files with commands and a pascal like structure.
Before you can use a menu you have to 'compile' it, this
is done by calling the 'menu' utility which checks your
menus on errors and makes a binary file from it.
The text files are calles 'source' and the result of the
menu compiler are the menus.
You find the sources of the menus in the 'tron:menus/'
directory, this also consist a subdirectory for the
compiled menus.
Compiling a menu: 'menu door.src'
(compiles the 'door' menu)
Wildcards are allowed: 'menu #?'
(this compiles all menus)
For more information on menus and menu commands look in
the 'tron:docs/lists/' directory.
This is a sample Menu file:
============================
; This is the 'door.src' file
Menu "door.menu" ;compiled menu is called 'door.menu'
flags hotkeyable ;No return needed after a key
level 0 - 255 , "Door.Ansi" ;for all levels 'Door.Ansi' screen
prompt 0 , 0 - 255 , "|Door Menu : "
prompt 1 , 0 - 255 , "|Door Menu : "
BEGIN ; Start the command definitions
Cmd "T"
CliDoor "doors:xtetra/ctetra '~200'"
EndCmd
Cmd "C" , 0-255
CliDoor "tron:utils/conf '~200' ~50"
EndCmd
Cmd "S" , 0-255
PassWord "xxxxxxxxxxx"
RemoteShell
EndCmd
Cmd "Q" , 0 - 255
GotoMenu "Main.Menu" ;Jump to an other menu
EndCmd
END
To configure the system there are a number of text files in
the 'tron:cfg/' directory:
AKA.config <- All your 'NodeNumbers' for mail transfers.
AreaFix.cfg <- Configuration to the Tron AreaFix
AllFiles.cfg <- Configuration file for allfiles util.
badnames.txt <- Config. to prevent users with bad names.
bbstext-0.cfg <- To config texts in the BBS nodes.
bbstext-1.cfg
crontab <- Config for a (Unix-alike) 'Cron' Util.
fileareas.cfg <- Config with the FileAreas.
filenet.cfg <- Config for the 'Tick' Util.
filenodes.cfg <- Nodes and passwords for 'Tick' Util
frequest.cfg <- Config for requested files
language.cfg <- List with languages or text sets (see bbstext).
mail.cfg <- Export list with Message Areas.
mailareas.cfg <- Config with the MessageAreas.
nodelist.cfg <- List with the nodelists to use.
origin.list <- for 'origin lines' in echomail.
protocol.cfg <- config for Xpr.. transfer libraries
questionair.cfg <- config for the questionair doors
route.cfg <- Netmail route config.
systems.cfg <- Passwords for mail exchange.
templates.cfg <- Definitions of the user levels
term.names <- names en tel.numbers for the terminal mode.
tron-0.cfg <- Specific info voor node 0 en 1.
tron-1.cfg
tron-6.cfg <- Node 6 en 7 are configured for the
tron-7.cfg Nullmodem.device (handy with testing)
tronRM.cfg <- Config for the Resource Manager
ttrimlogs.cfg <- Config for the Util to trim the logs
Each node is in waiting mode controlled by a GUI interface
with buttons, in stead of the buttons you can use the
Function keys.
When someone is logged in on a node most of the function keys
have other functions :
Function Keys :
---------------
Un-Shifted Shifted
F1 Chat F1 Toggle 'Sysop available'
F2 Iconize F2
F3 +10 Mins F3 -10 Mins
F4 AutoValidate a user (L:10) F4
F5 Capture F5
F6 Typefile F6
F7 Shell F7
F8 Edit user online F8 Edit User online (Stealth Mode)
F9 Userdata in MenuBalk F9 MenuBalk OFF
F10 (toggle) disable user F10 Disconnect
Note that the F1 and F7 keys are mutual exclusive .. you can't
start a shell in a chat.
======( Modem init. )=============================================
You'll find the inititiation strings for the modem in the
tron:cfg/tron-X.cfg for each node.
Note that a lot of modems only can accept 40 characters at once
in the buffer for strings.
So if your init is longer you probably have to split it up in
2 or more strings.
Also note that these strings are read to memory when you run
the 'bbs' executable .. so changing the strings has no effect until
you stop and run the 'bbs' executable.
If you want to use GPFax to receive faxes while the BBS is online
you have to edit the tron:startup script.
All you have to do is remove the ';' for the lines that startup GPFax.
When you now use tron:startup GPFax will startup and init te modem
before the BBS nodes get online.
You have to add something like 'AT+FAA=1' or '+FAA=1' to your
BBS init string, this makes the modem look for faxes also if
answering the phone.
When a fax call is detected, the 'fax.script' will be executed
to spawn a fax receive programm.
Most modem also need the folowing in the initstring to receive
faxes correctly:
'+FCLASS=0'
'+FLID='+31-xxxx-xxxxx' (Your phone number)
'+FCR=1'
'+FDCC=1,,0,2,0,0,0,5'
If you have problems receiving faxes or you have only added
'+FAA=1' to your init string .. you can use the 'fax.init' script.
Most fax problems area caused by previous data calls, if you
get a data call after GPFax has init the modem the above mentioned
data will be erased from your modem, if you get a fax call after
de data call .. you will probably receive nothing.
When you call the 'fax.init' script it will use GPFax to init
the modem again and fax receiving should be no problem.
You should call 'fax.init' after each data call in the
'incoming.x', 'logout.x' and your poll scripts.
Note that the fax init is only lost after a data call, an
ATZ command to reset the modem is no problem.
(with thanks to Harry Dicker who discovered after a lot of testing what
caused the FAX-problems and came up with the cure)
Tron can detect faxes by the "FAX" and "+FCON" connect strings,
these are build on , but you can change the "FAX" connect to anything
you want in the tron-X.cfg's.
During normal data calls, Tron is expecting a connect string
in one of the following styles:
CONNECT 14400
CARRIER 14400
CONNECT 28800/ARQ
CONNECT 28800/V42BIS
It will use the baudrate and the compression indication to
calculate de expected transfer times of files.
So make sure you get the DTE speed when connecting.
======( RIP Graphics )=============================================
RIPscrip (Remote Imaging Protocol Script Language) is a
Graphical Script Language with wich you can produce all kind
of graphical effects in your menus and even use Mouse Buttons
or Mouse Areas to controll your BBS.
Note that you have to enable RIPscrip processing with an ANSI-code
or the RIP commands will be shown as normal text.
ESC[1! Disables all RIPscrip processing. Any RIPscrip sequences
are interpreted as raw text.
ESC[2! Enabled RIPscrip processing. Any RIPscrip sequences will
be parsed and processed.
Folowing is an menu example to show a single RIP screen:
Cmd "1" , 0-255
Print "esc[2!|"
PrintFile "tron:text/tower.rip"
More
Print "esc[1!|"
EndCmd
(Replace 'esc' with the ANSI escape code)
If you want to control a part of your BBS with RIPscrip screens you
only switch back to ANSI after the last screen because after the
last code the mouse clicks on RIP icons don't work, and the colors
are switched back to ANSI colors.
(RIPscrip uses the EGA color system with 16 colors from a palette
from 64 colors, which differ from the ANSI colors)
Also note that RIPscrip on PC's use a screen of 640 x 350 pixels
(80 x 43) characters. So if you want to use the entire RIPscreen
you have to use the Interlaced mode, if you don't need the bottom
94 pixels you can use the non-Interlaced mode.